#include "DlistIterator_t.h"

template<class T>
DlistIterator_t<T>::DlistIterator_t(const Dlist_t<T>& context)
	: m_context(context)
	, m_curr(context.m_head)
{
	// TODO: implementation
}

template<class T>
DlistIterator_t<T>::~DlistIterator_t()
{
	// TODO: implementation
}

template<class T>
T* DlistIterator_t<T>::get() const
{
	return m_curr->get();
}

template<class T>
bool DlistIterator_t<T>::hasNext() const
{
	return m_curr->type() != DlistElem_t<T>::TAIL;
}

template<class T>
void DlistIterator_t<T>::next()
{
	if(!hasNext())
		return;

	m_curr = m_curr->next();
}